﻿using System;

namespace Rsdn.Janus.CoreServices.Extensibility
{
    public static class SharedInfoKeys
    {
        public const string SelfId = "SelfId";
        public const string StyleConfig = "StyleConfig";
        public const string ForumDisplayConfig = "ForumDisplayConfig";
        public const string ForumSortCriteria = "ForumSortCriteria";
    }

    /// <summary>
    /// Сервис обеспечивает обмен конфигурационными данными между различными частями приложения
    /// </summary>
    public interface ISharedInfoService
    {
        string GetStringValue(string key);
        int? GetIntValue(string key);
        bool? GetBoolValue(string key);
        Enum GetEnumValue(string key);
        object GetObjValue(string key);

        void SetValue(string key, string value);
        void SetValue(string key, int value);
        void SetValue(string key, bool value);
        void SetValue(string key, Enum value);
        void SetValue(string key, object value);
    }
}